bcm-specs

[Specification

The table offset used below is passed in from the caller

  1. Retrieve the saved copy of PHYRegister 0x6B

  2. Take bits 0-7 of the value
  3. Take bits 8-15 of the value and shift right by 8 bits
  4. If bit 7 is set in either value, subtract 0x100 from the value (results in signed 8 bit values)
  5. Multiply the Table value requested with each of the signed 8 bit values and then add 0x20, then shift the result right by 6
  6. Clamp both results between -15 and 15
  7. If either value is less than than zero now, add 0x100 to the value and mask with 0xFF
  8. Shift the value that came from bits 8-15 left by 8
  9. Bitwise OR the two values together and write the result to PHYRegister 0x6A

Table

Offset

Value

0

0x22

1

0x24

2

0x26

3

0x28

4

0x2B

5

0x2D

6

0x30

7

0x33

8

0x36

9

0x39

10

0x3C

11

0x40

12

0x2B

13

0x2D

14

0x30

15

0x33

16

0x36

17

0x39

18

0x3C

19

0x40

20

0x33

21

0x36

22

0x39

23

0x3C

24

0x40

25

0x2D

26

0x30

27

0x33

28

0x36

29

0x39

30

0x3C

31

0x40

32

0x22

33

0x24

34

0x26

35

0x28

36

0x2B

37

0x2D

38

0x30

39

0x33

40

0x36

41

0x39

42

0x3C

43

0x40

44

0x45

45

0x49

46

0x4D

47

0x52

48

0x56

49

0x5E

50

0x63

51

0x69

52

0x6F

53

0x76

54

0x7E

55

0x86

56

0x8E

57

0x96

58

0x9F

59

0xA8

60

0xB2

61

0xBD

62

0xC8

63

0xD4


Exported/Archived from the wiki to HTML on 2016-10-27